package com.atguigu.search.vo;

import com.atguigu.common.to.es.SpuUpTo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.ArrayList;
import java.util.List;

/**
 * 请求结果封装
 */
@Data
@AllArgsConstructor
@ToString
@NoArgsConstructor
public class SearchResult {

    //所有符合的商品信息
    private List<SpuUpTo> products;
    //符合条件的三级分类信息
    private List<CatalogVo> catalogs;//当前查询到的结果，所有涉及到的所有分类
    //符合条件的品牌信息
    private List<BrandVo> brands;
    //符合条件的属性信息
    private List<AttrVo> attrs;//当前查询到的结果，所有涉及到的所有属性
    //分页信息
    private Integer pageNum;//当前页码
    private Long total;//总记录数
    private Integer totalPages;//总页码
    private List<Integer> pageNavs;


//    面包屑导航数据
    private List<NavVo> navs = new ArrayList<>();
    private List<Long> attrIds = new ArrayList<>();



    @Data
    public static class NavVo{
        private String navName;
        private String navValue;
        private String link;
    }



    @Data
    public static class BrandVo{
        private Long brandId;
        private String brandName;

        private String brandImg;
    }

    @Data
    public static class CatalogVo{
        private Long catalogId;
        private String catalogName;

    }

    @Data
    public static class AttrVo{
        private Long attrId;
        private String attrName;

        private List<String> attrValue;
    }
}
